博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用户模块 之 根据条件查询用户
阅读量:5309 次
发布时间:2019-06-14

本文共 5097 字,大约阅读时间需要 16 分钟。

实现用户显示的状态以及查看页面的后续功能

 

 

初始时数据库用户的状态为:

 

初始时用户列表页面的显示:

 

 通过代码进行动态显示的效果图:

进行修改数据库的状态:

显示出来的效果:

 

 

 

只需在user_list.jsp找到状态的那一列进行一个判断即可,将其代码修改为:

已启用
未启用

接下来需要进行实现的功能有

1、停用

2、编辑

3、修改

4、查询

5、添加

6、批量删除

 

 

 

分析根据条件查询用户

可以将上面的功能分为两个模块:

1、查询模块

2、增删改

需要在数据库中添加一个字段createtime

 

 在user实体中进行添加:

private String createtime;//通过添加该字段方便进行查询

 需要用到的流程图:

 

三个参数,分别是页面搜索部分start表示开始日期 end标识结束日期 username表示用户名,在本次的根据条件查询需要访问二次数据库,一次是数目,一次是list

 

在数据库中进行测试一下:

 

 

 加入limit表示的是分页,需要使用到pageBean

 

书写根据条件查询

 

在user-list.jsp中加入搜索表单的action中加入:

 

 

 

在User_Action.java中写入getPageBeanByCondition方法,再其中封装pageBean:

 

//通过条件得到pageBean    public String getPageBeanByCondition() throws Exception {                //如果用户传递的start为空,那么我们将时间设置为0001-01-01        if(start.isEmpty())        {            start="0001-01-01";        }        //如果用户传递的end为空,那么我们将时间设置为9999-12-31        if(end.isEmpty())        {            end="9999-12-31";        }        //username为空的话,hibername可以帮我们解决问题                PageBean userPageBean = userService.getuserPageBeanByCondition(currentPage,start,end,user.getUsername());                //进行对数据的回显,回显的时候需要在user-list.jsp获取        ActionContext.getContext().put("start", start);        ActionContext.getContext().put("end", end);        ActionContext.getContext().put("username", user.getUsername());                ActionContext.getContext().put("userPageBean", userPageBean);                return "userList";    }

 

传递三个参数给userService.java

public PageBean getuserPageBeanByCondition(Integer currentPage, String start, String end, String username, ) {                //得到符合条件的用户数目        Integer totalCount = userDao.getAllUserByCondition(start,end,username);        PageBean pageBean = new PageBean(currentPage, 6, totalCount);//6表示页面显示的数量        //todo 根据条件得到list并封装list        List
list = userDao.getPageBeanListByCondition(pageBean,start,end,username); pageBean.setList(list); return pageBean; }

 

在userDao中写入sql语句:

//1、2通过开始日期与结束日期还有用户名条件进行查询  //1    public Integer getAllUserByCondition(String start, String end, String username) {        Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();                String sql = "select count(*) from user where createtime > ? and createtime < ? and username like ?;                           NativeQuery query = session.createSQLQuery(sql);        query.setParameter(1, start);        query.setParameter(2, end);        query.setParameter(3, "%"+username+"%");                BigInteger result = (BigInteger) query.uniqueResult();                return result.intValue();    }   //2    public List
getPageBeanListByCondition(PageBean pageBean, String start, String end, String username) { Session session = getHibernateTemplate().getSessionFactory().getCurrentSession(); //需要三个条件 String sql = "select * from user where createtime > ? and createtime < ? and username like ? limit ?,?"; NativeQuery query = session.createSQLQuery(sql); query.addEntity(User.class); query.setParameter(1, start); query.setParameter(2, end); query.setParameter(3, "%"+username+"%"); query.setParameter(4, pageBean.getStart()); query.setParameter(5, pageBean.getPageSize()); List list = query.list(); return list; }

 

 

 

为防止在进行查询时候点击下方分页的上一页以及其它查询所有,在user-list.jsp中进行参数的拼接:

&start=
&end=
&username=
"><<
&start=
&end=
&username=
">
&start=
&end=
&username=
">
&start=
&end=
&username=
">
&start=
&end=
&username=
">
&start=
&end=
&username=
">尾页
&start=
&end=
&username=
">>>

 

进行对输入的三个参数回显到输入框中

 

 修改user.jsp中该部分的代码:

">
">
">
">

 

最终效果:

 

转载于:https://www.cnblogs.com/jiguiyan/p/10896411.html

你可能感兴趣的文章
Linux 终端连接工具 XShell v6.0.01 企业便携版
查看>>
JS写一个简单日历
查看>>
LCA的两种求法
查看>>
Python 发 邮件
查看>>
mysql忘记密码的解决办法
查看>>
全面分析Java的垃圾回收机制2
查看>>
[Code Festival 2017 qual A] C: Palindromic Matrix
查看>>
修改博客园css样式
查看>>
Python3 高阶函数
查看>>
初始面向对象
查看>>
docker一键安装
查看>>
leetcode Letter Combinations of a Phone Number
查看>>
Unity 5.4 测试版本新特性---因吹丝停
查看>>
7.5 文件操作
查看>>
DFS-hdu-2821-Pusher
查看>>
MyEclipse中将普通Java项目convert(转化)为Maven项目
查看>>
node js 安装.node-gyp/8.9.4 权限 无法访问
查看>>
windows基本命令
查看>>
VMware中CentOS设置静态IP
查看>>
[poj1006]Biorhythms
查看>>